package com.zoweunion.mechanic.service.app;

import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.github.pagehelper.PageInfo;
import com.zoweunion.mechanic.util.entity.OrderBean;
import com.zoweunion.mechanic.util.entity.OrderCheck;


public interface OrderService {

    /**
     * 保存仓库位置
     * @param
     * @return
     */
    public void deleteWarehouseLocation(Map<String, Object> reqMap);

    /**
     * 保存仓库位置
     * @param
     * @return
     */
     List<Map<String, Object>> getWarehouseLocation(Map<String, Object> reqMap);

    /**
     * 保存仓库位置
     * @param
     * @return
     */
    public void savaWarehouseLocation(Map<String, Object> reqMap);

    /**
     * 获取高管改价金额
     * @param
     * @return
     */
    public String getManagerPrivilegeMoney(Map<String, Object> reqMap);

    /**
     * 查询高管授权账号
     * @param
     * @return
     */
    public Boolean queryManagerPrivilegeAuth(Map<String, Object> reqMap);

    /**
     * 更新工单改价
     * @param
     * @return
     */
    public Boolean updateAuthPrice(Map<String, Object> reqMap);

    List<Map<String, Object>> getMaintainOrder();

    Map<String, Object> getCarById(String c_id);

    List<Map<String, Object>> getCarListAll();

    // 获取工单列表
    List<Map<String, Object>> getOrderList(Map<String, Object> reqMap);

    // 获取工单详情
    Map<String,Object> getOrderDetail(Map<String, Object> reqMap);

    // 更新听诊工单
    Boolean updateDiagnoseInfo(Map<String, Object> reqMap);

    // 转诊
    Boolean changeDiagnoseInfo(Map<String, Object> reqMap);

    // 修工自检
    Boolean repairSelfCheck(Map<String, Object> reqMap);

    // 修工互检
    Map<String,Object> repairMutualCheck(Map<String, Object> reqMap);

    // 修工维修完成
    Map<String,Object> repairComplete(Map<String, Object> reqMap);

    // 修工位置记录
    int repairLocationRecord(Map<String, Object> reqMap);

    // 工单到达现场
    int orderRepairArrive(Map<String, Object> reqMap);

    // 工单支付
    int orderPay(Map<String, Object> reqMap);

    // 信用额度的还款
    int creditLimitRepayment(Map<String, Object> reqMap);

    // 信用额度的详情
    Map<String,Object> creditLimitDetail(Map<String, Object> reqMap);

    //客服考核插入数据
    void insertOrderCheckByKf(OrderCheck orderCheck);

    //根据用户id,订单id查询审核数据
    OrderCheck selectCheckByOrderId(String orderId,String uId,Integer status);

    //
    void updateKfByOrderId(OrderCheck build);

    void updateKfEndTime(String orderId, String id);

    void updateKfEndTimeList(Long id);

    void insertTzOrderCheck(OrderCheck build);

    void updateTzCount(OrderCheck build);

    void deleteCgResponse(String order_id, String u_cg_id, int orderCheckCgPastsResponse);

    List<OrderBean> selectOrderCheck(Map<String, Object> params);


    List<Map<String, Object>>  selectOrderCheckUser(Map<String, Object> params);

    Map<String,Object> selectByOrderCheck(Map<String, Object> params);

    List<Map<String, Object>> selectResponseByKf(Map<String, Object> params);

    List<Map<String,Object>> selectCorrectPer(Map<String, Object> params);

    Map<String, Object> selectPayGroup(Map<String, Object> params);

    List<Map<String, Object>> selectRepairTime(Map<String, Object> params);

    List<Map<String, Object>> selectPartsInCount(Map<String, Object> params);

    List<Map<String,Object>> selectFaultCount(Map<String, Object> params);

    int isCheckTypeExist(String orderId, String userId, int checkType);

    void orderCheckPerformance();

    PageInfo<Map<String, Object>> selectCheckList(Map<String, Object> params);

    List<String> getRepairMan(String id,int checkType);

    Date stringConvertDate(String date) throws ParseException;
}
